[レポート] 製造業におけるDataOps – Subsurface LIVE Summer 2021
米国時間2021年07月21日〜22日の計2日間、オンラインで開催された「Subsurface LIVE Summer 2021」では、主催となるDremio社のサービスやクラウドデータレイクに関する各種サービスやプロダクトのセッションが展開されていました。
当エントリでは、その中から「DataOps in a Manufacturing Company – Anomaly or Solution?」(製造業におけるDataOps)というセッションについてレポートします。
目次
セッション概要
セッション概要は以下の通り。
DataOps in a Manufacturing Company – Anomaly or Solution?
(製造業におけるDataOps)
<登壇者>
Klemen Strojan - Lead Data Engineer @ Knauf Insulation
<発表内容>
Knauf Insulation is one of the world’s largest manufacturers of insulation products and solutions. We are present in more than 40 countries and have 27 manufacturing sites in 15 countries. The challenge we faced was quite simple on paper: We had to centralize all data from production sites and start creating value from that data, either by basic analytics or complex optimizations. A key driver was to optimize the production process by decreasing downtime, reducing energy consumption and improving the quality of our product. As with most companies, our initial plan was to set up a data science platform and get all the data in the cloud data lake, providing a team of data scientists with everything they need. The premise was that a data lake is just an enormous disk and accessing the data later on is simple for a reasonably skilled data scientist. Well, not exactly. The former is only true when the data quantity is low. Our data quantities are not extreme, but we are not in the realms of classical one-machine SQL anymore. So how do users actually access the data in an efficient and fast enough manner?
We created a skilled DataOps team that sits between the Central IT and our end users, data scientists and engineers in the plants. The end user has to know more about the business than about data science, that is why at a manufacturing company he usually comes from the business. How do we make work easier for him? Removing complexities from the end user is what we have in mind every day. Working with reasonably sized data is easy, so we decided to do distributed computation in the background when possible, by leveraging a subset of tools that is small and manageable but it still covers most of the needs that we have.
In the early days, advanced analytics was only feasible in large software companies with almost unlimited investment capabilities and an abundance of domain knowledge. Today, non-software companies can also be successful when using the right strategy. We at Knauf Insulation strongly believe that a key part of that strategy is a DataOps team that works as a bridge between existing IT-based teams and on-site engineering teams.
(クナウフ・インダストレーション社は、断熱製品とソリューションを提供する世界最大級のメーカーです。40カ国以上で事業を展開し、15カ国に27の製造拠点を有しています。私たちが直面した課題は、紙面上では非常にシンプルなものでした。製造拠点から得られるすべてのデータを一元管理し、基本的な分析や複雑な最適化によって、データから価値を生み出すことを始めなければなりませんでした。重要なのは、ダウンタイムを減らし、エネルギー消費を抑え、製品の品質を向上させることで、生産プロセスを最適化することでした。多くの企業と同様、当初の計画では、データサイエンスプラットフォームを立ち上げ、すべてのデータをクラウドのデータレイクに取り込み、データサイエンティストのチームに必要なものをすべて提供することにしました。前提として、データレイクは単なる巨大なディスクであり、後からデータにアクセスすることは、それなりのスキルを持ったデータサイエンティストにとっては簡単なことだと考えていました。まあ、そうではありません。前者は、データ量が少ない場合にのみ当てはまります。私たちのデータ量は極端ではありませんが、もはや古典的なワンマシンSQLの領域ではありません。では、ユーザーはどのようにして効率的かつ迅速にデータにアクセスするのでしょうか?
私たちは、中央のIT部門とエンドユーザー、工場のデータサイエンティストやエンジニアの間に位置する、熟練したデータオプスチームを作りました。エンドユーザーは、データサイエンスよりもビジネスに精通していなければなりません。そのため、製造業では通常、エンドユーザーはビジネスの現場から来ます。どうすれば彼の仕事を簡単にすることができるでしょうか?エンドユーザーから複雑さを取り除くことが、私たちが日々考えていることです。適度なサイズのデータを扱うのは簡単なので、可能な限りバックグラウンドで分散計算を行うことにしました。また、小さくて管理しやすいツールのサブセットを活用することで、ほとんどのニーズをカバーしています。
初期の頃は、高度なアナリティクスは、ほぼ無限の投資能力と豊富なドメイン知識を持つ大規模なソフトウェア企業でのみ実現可能でした。今日では、ソフトウェア以外の企業でも、適切な戦略を用いれば成功することができます。Knauf Insulation社では、その戦略の重要な部分は、既存のITベースのチームと現場のエンジニアリングチームの橋渡しをするDataOpsチームであると強く信じています。)
セッションレポート
ここからはセッションレポートとなります。それぞれのトピックに関して要点をまとめる形で紹介。
企業紹介
断熱製品やソリューションを提供する世界最大級のメーカー/40カ国以上で事業を展開し、15カ国に27の製造拠点を有している企業。
今回の発表に至る経緯と理由:
- 製造業の会社は=ソフトウェアの会社ではない
- データを実際に利用し、変化をもたらすためには、多少異なるアプローチを用いる必要がある
- 今回の発表を通じて、製造データの課題に取り組むために使用される人材、ツール、戦略の観点から、私たちのユースケースを紹介したい
- 我々のアプローチは、さまざまな製造企業で応用できると確信している
アジェンダ
- 1.Data: 我々のパイプラインには何が流れているのか
- 2.People: 我々のソリューションを開発するのは誰か、使うのは誰か
- 3.Technology: どのようにそれらは機能するのか
- 4.Pain Points: どこを注意すべきか
- 5.Use cases
1.Data: 我々のパイプラインには何が流れているのか
- プロセスデータ:工場内のセンサーによって生成されたもの
- 471,393,491,762(4800億)個のデータポイント
- 4.8テラバイトのデータ
- 474,900,000(4.7億)個のデータポイントが毎日追加される
- データの規模と特徴
- Normal - マシンのRAMに入るものなら何でも、1台のマシンで処理でき、古典的なデータベースに保存できる
- Medium - 古典的なデータベースでは十分ではなく、分散型の計算方法と特定のツールが必要で、合理的な時間で再処理が可能
- Big - ペタバイト規模のデータ、分散型計算のみ、再処理は非常にコストと時間がかかる
2.People: 我々のソリューションを開発するのは誰か、使うのは誰か
- DataOpsのコンセプト
- データ・オペレーションとは、データ・エンジニア、データ・サイエンティスト、ソフトウェア・エンジニアを組み合わせたデータ・サイエンス・チームの概念であり、データの生産者、IT、エンド・ユーザーの間をつなぐ役割を果たす
- Knauf Insulation社では、全社的なデータイニシアティブをサポートするために使用されるツール、人材、技術の組み合わせに対してこの言葉を使用している
- 利用者の詳細
- パワーユーザー:ビジネスに関する広範な知識と特定の分析スキルを持つマテリアル・サブジェクト・エキスパート
- 具体的な知識:ビジネスドメイン、基本的なPythonやSQLのスキル、分析スキル
- ツール:Dremio、Anaconda Enterprise
- 役割:レポートの作成、単発の分析、アイデア
- デジタルエンジニア:アナリティクス(統計学、機械学習)に関する豊富なスキルを持つマテリアル・サブジェクト・エキスパート
- 具体的な知識:ビジネスドメイン、Python中級レベル、SQL、統計学及び機械学習
- ツール:Dremio、Anaconda Enterprise
- 役割:概念実証の開発、工場へのソリューション導入
- データエンジニア:データを中心としたソフトウェア・ソリューションの構築を専門とするデータ・エキスパート
- 具体的な知識:データモデリング、パイプライン開発、Python、SQL、分散システム、分析スキル
- ツール:Dremio、Prefect、Azure、Kubernetes、Dask、Database、Data Lakes
- 役割:他のすべてのユーザーがデータにアクセスし、ソリューションを自動化できるようにする
- データサイエンティスト:統計学と機械学習を中心に、プログラミングスキルを加えたデータの専門家
- 具体的な知識:統計的モデリングと最適化、機械学習、Python、SQL
- ツール:Dremio、Anaconda Enterprise
- 役割:データに基づいたソリューションの開発 パワーユーザーやデジタルエンジニアと密接に連携し、概念実証をエンドツーエンドのソリューションにアップグレード
- パワーユーザー:ビジネスに関する広範な知識と特定の分析スキルを持つマテリアル・サブジェクト・エキスパート
3.Technology: どのようにそれらは機能するのか
- データはどのように保存されるか
- SQLデータベース:可能な限りソースシステムに直接接続
- データレイク:ソースシステムへの直接接続が不可能な場合や、ソースシステムのリソースを多く使用する場合に使用される。データは、場所、年、月、日ごとに分割されたParquetファイルとして複製される
- ※Parquet:データを非常に効率的に保存するバイナリデータ形式
- ※Arrow:Parquetでの使用に最適化されたインメモリ形式
- データへのアクセス方法
- ユーザーは、使用しているツールとは別に、Dremio Query Engineを使ってデータに接続
- Dremioはフェデレーション層として機能し、複数のデータソースを組み合わせてデータセットにする
- データカタログとデータリネージによるデータアノテーションを実現
- データの具体化
- ※Arrow Flight:大規模なデータセットをネットワーク・インターフェイス上で並行して高性能に転送することを容易にする汎用クライアント・サーバ・フレームワーク。12ギガバイトのデータを約4秒で転送(参考)
- データはどのように処理されるのか
- Anaconda Enterprise:データサイエンスプラットフォーム/パワーユーザー、デジタルエンジニア、データサイエンティストのための主要ツール
- Python:すべてのソリューションとパイプラインはPythonで開発されている
- Dask:分散計算のためのPythonモジュール/Dremioで行われないデータ処理はDaskで実行される
- Kubernetes:パイプラインの実行はAzure Kubernetes Service (AKS)上で行われる
- ※データパイプラインはDockerイメージとして構築され、コンテナレジストリに保存され、PrefectがオーケストレーションするKubernetesのジョブとして実行される
- 分散システム
- 中規模データになると、1台のマシンではデータ処理が出来なくなり、複数のマシンで並行して処理を行う必要がある
- データレイクで分散型データストレージを、Dremioで分散型データ処理を、Anaconda Enterpriseでは通常のデータ処理を対応
- 我々のアプローチでは複雑さはユーザーからは見えてない
4.Pain Points: どこを注意すべきか
- 沢山の「動く部品」がある:全ては生きていて、常に変化している
- データは毎秒生成され、工場ごとに新しいセンサーが毎週追加される
- ソフトウェアのアップデートは毎週行われ、アップデートやアップグレードは社内の異なる組織によって管理されている
- 一つの間違ったアップグレードが大きな影響を与える可能性がある
- ネットワークの変更は頻繁に行われ、当社の管理外の別のチームによって管理されている
- リスクの軽減
- コンテナ化されたソリューション - パイプラインが不変的なイメージにパッケージ化される
- 環境の分離 (テスト、開発、本番)
- テスト、テスト、そしてさらにテスト
- すべての変更を事前に伝えること
- 技術的負債
- 初期の開発をスピードアップするために使われる技術的なショートカット
- データチームは技術的負債を減らすために時間とリソースを割かなければならない
- ベロシティ
- ソリューションを提供するスピードは、時間とともに向上しなければならない
- チームの成功の「真の尺度」
5.Use Cases
- 予知保全
- 9つの工場で16の資産を監視/ガラス、ミネラル、ウール工場における特定の資産の故障予測を実現
- スピナートラッキングシステム
- 異常検知システム
- プラントの異常を影響が出る前に検知する
- セルフサービス分析
- 自動データプロファイリング:データセットの基本的な統計情報をその場で算出
- Jupyter notebookセッションでは事前に読み込まれたデータを使って素早く分析を行うことが出来る
6.What is next?: 前へ前へ
- 点と点を繋ぐ
- 本番環境の最終調整
- HC、知識、スキル面でのデータチームの成長
- データガバナンスイニシアチブ:明確なオーナーシップと責任
- データ品質/分析システム/データ修復/ソースシステム間のサイクルを回していく
- まとめ
- アナリティクスに関心のあるビジネスエキスパートを社内で見つけ、彼らをサポートするデータスペシャリストのチームを作ること
- これにより、導入したソリューションがビジネスの現場から生まれ、受け入れられ、期待通りの効果を発揮することが保証される
まとめ
という訳で、クラウドデータレイクイベント『Subsurface LIVE Summer 2021』のセッション「DataOps in a Manufacturing Company – Anomaly or Solution?」(製造業におけるDataOps)のレポートでした。
局面における状況の在り方がとても詳細にレポートされている、とても分かりやすい発表内容だったと思います。こういった体制を組んでいく上で「データレイク環境」の果たしている役割が大きく且つ重要であるということも認識出来ました。環境を整えることだけでも一苦労ではあると思うので、この辺「本当に欲しいデータレイク環境」をスムーズかつ効率良く準備・提供出来るような仕組みを確立させたいですね。